using System;
using System.Collections.Generic;
using System.Text;


namespace eBook.Core.BusinessObjects
{
  public class boBookInfo
  {
    public string InfoProvider {get; set;}
    public string ASIN { get; set; }
    public string ISBN10 { get; set; }
    public string ISBN13 { get; set; }
    public string DeweyDecimal { get; set; }
    public string LCCN { get; set; }

    public string LargeImageURL { get;set; }
    public string MediumImageURL { get; set; }
    public string SmallImageURL { get; set; }

    private string[] _authors;
    public string[] Authors
    {
        get { return _authors; }
        set { _authors = value != null ? value : new string[0]; }
    }

    public string AuthorsAsText
    {
      get
      {
        return _authors == null ? string.Empty : string.Join(" | ", _authors);
      }
    }

    private string[] _topics;
    public string[] Topics
    {
      get { return _topics; }
      set { _topics = value != null ? value : new string[0]; }
    }

    private string[] _links;
    public string[] Links
    {
      get { return _links; }
      set { _links = value != null ? value : new string[0]; }
    }

    public string Title { get; set; }
    public string Subtitle { get; set; }
    public string PublisherName{ get; set; }
    public string PublicationDate { get; set; }
    public string Edition { get; set; }

    public string Binding { get; set; }
    public string NumberOfPages { get; set; }
    public string AudienceRating { get; set; }
    public string ReadingLevel { get; set; }
    public string ItemDimensions { get; set; }
    public string ListPrice { get; set; }

    public string EditorialReview { get; set; }
    public string DetailPageURL { get; set; }

    
    public string Path { get; set; }
    public string FileName { get; set; }

    public string ISBN
    { 
      get 
      {
        if ( !string.IsNullOrEmpty(this.ISBN10) )
          return this.ISBN10;

        if ( !string.IsNullOrEmpty(this.ISBN13) )
          return this.ISBN13;

        return string.Empty;
      } 
    }



  }


}
